﻿using System;

namespace Neturion.Dados
{
    public class Movimento
    {
        private long _movimentoId;
        private EnumTipoMovimentoFinanceiro _enumTipoMovimentoFinanceiro;
        private string _descricao;
        private string _documento;
        private decimal _valor;
        private string _historico;
        private DateTime _dataCadastro;
        private DateTime _dataEmissao;
        private DateTime _dataVencimento;
        private DateTime? _dataQuitado;
        private DateTime? _dataExtorno;
        private decimal? _multa;
        private decimal? _jurosTaxas;
        private decimal? _descontoIss;
        private decimal? _descontoInss;
        private decimal? _descontoIr;
        private decimal? _descontoCofins;
        private decimal? _descontoCssl;
        private decimal? _desconto;
        private EnumSituacaoMovimento _enumSituacaoMovimento;
        private int _validadePagamento;
        private Usuario _usuario;

        public virtual long MovimentoId
        {
            get { return _movimentoId; }
            set { _movimentoId = value; }
        }

        public virtual EnumTipoMovimentoFinanceiro EnumTipoMovimentoFinanceiro
        {
            get { return _enumTipoMovimentoFinanceiro; }
            set { _enumTipoMovimentoFinanceiro = value; }
        }

        public virtual string Descricao
        {
            get { return _descricao; }
            set { _descricao = value; }
        }

        public virtual string Documento
        {
            get { return _documento; }
            set { _documento = value; }
        }

        public virtual decimal Valor
        {
            get { return _valor; }
            set { _valor = value; }
        }

        public virtual string Historico
        {
            get { return _historico; }
            set { _historico = value; }
        }

        public virtual DateTime DataCadastro
        {
            get { return _dataCadastro; }
            set { _dataCadastro = value; }
        }

        public virtual DateTime DataEmissao
        {
            get { return _dataEmissao; }
            set { _dataEmissao = value; }
        }

        public virtual DateTime DataVencimento
        {
            get { return _dataVencimento; }
            set { _dataVencimento = value; }
        }

        public virtual DateTime? DataQuitado
        {
            get { return _dataQuitado; }
            set { _dataQuitado = value; }
        }

        public virtual DateTime? DataExtorno
        {
            get { return _dataExtorno; }
            set { _dataExtorno = value; }
        }

        public virtual decimal? Multa
        {
            get { return _multa; }
            set { _multa = value; }
        }

        public virtual decimal? JurosTaxas
        {
            get { return _jurosTaxas; }
            set { _jurosTaxas = value; }
        }

        public virtual decimal? DescontoIss
        {
            get { return _descontoIss; }
            set { _descontoIss = value; }
        }

        public virtual decimal? DescontoInss
        {
            get { return _descontoInss; }
            set { _descontoInss = value; }
        }

        public virtual decimal? DescontoIr
        {
            get { return _descontoIr; }
            set { _descontoIr = value; }
        }

        public virtual decimal? DescontoCofins
        {
            get { return _descontoCofins; }
            set { _descontoCofins = value; }
        }

        public virtual decimal? DescontoCssl
        {
            get { return _descontoCssl; }
            set { _descontoCssl = value; }
        }

        public virtual decimal? Desconto
        {
            get { return _desconto; }
            set { _desconto = value; }
        }

        public virtual EnumSituacaoMovimento EnumSituacaoMovimento
        {
            get { return _enumSituacaoMovimento; }
            set { _enumSituacaoMovimento = value; }
        }

        public virtual int ValidadePagamento
        {
            get { return _validadePagamento; }
            set { _validadePagamento = value; }
        }

        public virtual Usuario Usuario
        {
            get { return _usuario; }
            set { _usuario = value; }
        }
    }
}